#pragma once

//#include <vld.h>

#include "BeanieIncludes.h"
#include "BeanieDefines.h"
#include "BeanieEnums.h"

#include "Handle.h"
#include <ShellAPI.h>

//window additional chrome width and height
#define CHROME_WIDTH  6
#define CHROME_HEIGHT 28

//Window Framework
class WindowFramework
{
public:
	//attributes & members
	HWND		m_hWnd;
	WNDCLASSEX	m_wClass;
	DWORD		m_windowMode;
	int			m_windowColor;
	int			m_windowCoordX;
	int			m_windowCoordY;
	int			m_windowWidth;
	int			m_windowHeight;
	int			m_screenWidth;
	int			m_screenHeight;
	bool		m_windowed;
	HDROP		m_hdrop;

	//ctor & dtor
	WindowFramework();
	~WindowFramework();

	//initiates and displays the windows
	void init(
		char*	a_windowName,
		int		a_windowColor,
		int		a_windowWidth,
		int		a_windowHeight,
		bool	a_windowed,
		Handle* a_windowHandler);

	//handles windows messages
	bool hMsg();
};